草庐IT

windows - PAR 和 Win32::Exe

全部标签

windows - 如何使用 goav 的头文件在 Windows 上设置 golang

我正在尝试在Windows上编译goav,但我已经走得很远了我已经在MSYS2中编译了ffmpeg库并将这些包链接到:setPKG_CONFIG_PATH=%~dp0FFmpeg\libavformat;%~dp0FFmpeg\libavcodec;%~dp0FFmpeg\libavutil;%~dp0FFmpeg\libswresample;有效!但是,现在的问题是:#github.com/giorgisio/goav/avcodecsource\src\github.com\giorgisio\goav\avcodec\avcodec.go:14:34:fatalerror:lib

sql - 如何将 float32 数组从 gorm 保存为 double

我尝试将golang中的float32保存到db(postgresql)。我用戈尔姆。我在结构中的字段:Cluster[512]float32`gorm:"column:cluster;type:float[]"`当我保存到数据库时,日志模式显示正确的sql,但写入错误:convertingargument$3type:unsupportedtype[512]float32,aarray谁知道如何告诉postgres做什么?谢谢! 最佳答案 我遇到过这样的问题。我建议您为实现的数组创建自己的类型typeValuerinterface

windows - 登录用户,Windows,在 Golang 中

我需要使用Golang在本地Windows机器上获取当前登录的用户。我不是在寻找当前运行应用程序的用户,这可以从内置函数user.Current()中获取。我可以从cmd调用queryuser,这会给我所需用户的列表(需要字符串操作,但这不是问题)。我试过的代码是:out,err:=exec.Command("query","user")iferr!=nil{panic(err)}//...dosomethingwith'out'这会产生错误panic:exitstatus1。如果我这样做,也会发生同样的情况:out,err:=exec.Command("cmd","/C","quer

go - 当我在 Windows 10 中执行使用键盘控制 dji tello 无人机的 go 文件时发生错误

我有一个名为drone_control.go的go文件,它通过点击键盘按钮来控制djitello无人机。当我尝试使用命令提示符执行此文件时,它显示错误*exec:"stty":executablefilenotfoundin%PATH%我正在使用windows10和gobot框架来控制无人机。以下是我的drone_control.go文件的内容。packagemainimport("time""gobot.io/x/gobot""gobot.io/x/gobot/platforms/dji/tello""gobot.io/x/gobot/platforms/keyboard")func

windows - 我可以在构建 Go 程序的同时静态链接一些 DLL 吗?

如果您在慢速硬盘上运行带有WindowsDLL依赖项的go应用程序,有时会发生Windows加载这些dll的时间过长。如果您将go应用程序放入Windows服务中,您会遇到严重的问题。特别是在慢速硬盘上,这会导致windows服务超时,服务无法启动。是否有可能以某种方式将这些DLL静态链接到go应用程序?加载DLL后一切正常,但需要两次尝试才能使服务运行。但是在第一次失败后,Windows不会再尝试启动该服务,所以我只好自己手动启动该服务。有人有想法吗? 最佳答案 简短的回答是“否”:“DLL”代表“动态链接库”,静态链接DLL是不

visual-studio - 如何使用 VSCode 在 GOARCH=386 的 64 位 GO 项目上使用 32 位 DLL

我已经使用默认包安装了VSCode和GO扩展。我的项目需要加载一个32位DLL。当我使用F5启动项目时,我在syscall.LoadLibrary()上收到错误193。我在互联网上发现,当有人试图在64位arch上加载32位DLL时,通常会发生错误。我认为如果我使用GOARCH=386进行调试,我将能够加载DLL。但每次我尝试使用GOARCH=386执行时,我都会在VSCode上收到错误消息,提示该架构不受支持。需要帮助。 最佳答案 (我假设64位DLL是遥不可及的)64位进程无法将32位模块加载到其进程空间,32位进程也无法将64

go - 使用 os/exec 命令从 Windows 交叉编译到 Linux

标题基本上就是这么说的。我知道我能做到setGOOS=linuxsetGOARCH=amd64在gobuild之前在cmd中,但我正在尝试编写一个构建脚本并使用exec.Command完成所有操作。我的gobuild-oetc与exec.Command(它构建)一起工作,但是在执行以下任一命令后在测试脚本中打印GOOS时:cmd:=exec.Command("set","GOOS=linux")//ORcmd:=exec.Command("setGOOS=linux")我得到了windows。有什么想法吗?谢谢! 最佳答案 我强烈建

go - win.RegisterRawInputDevices 总是返回 false

我正在使用https://github.com/lxn/win在Go中访问低级Windows调用的包。我正在调用win.RegisterRawInputDevices为原始输入数据注册设备,但它始终返回false。我在C#中完成此操作没有任何问题。下面是我的代码:packagemainimport("fmt""syscall""unsafe""github.com/lxn/win")funcWndProc(hWndwin.HWND,msguint32,wParam,lParamuintptr)uintptr{switchmsg{casewin.WM_CREATE:fmt.Println

go - 如何将 int32 unicode 转换为字符串

我有一个函数,它以int32slice格式逐行接收主机名列表。这是函数:funcHandlePipeList(targetsList[]int32){//Printoutputitembyitemfori:=0;i由于我使用fmt将它转换为%c,它可以正常工作并正确打印主机名。当我尝试将targetList作为字符串传递给另一个函数时,我的问题就出现了。我怎样才能对targetList进行相同的转换,以便这些行可以作为字符串传递?(strconv.Itoa在这里不起作用)。 最佳答案 Go中的unicode代码点是一个rune。Go

go - Windows api dll库加载指南

我想知道使用golang加载dll库的指南。例如,我如何从ntdll.dll加载RtlAdjustPrivilege(intPrivilege,boolbEnablePrivilege,boolIsThreadPrivilege,outboolPreviousValue)所以我知道c:=syscall.MustLoadDLL("ntdll.dll").MustFindProc("RtlAdjustPrivilege")_,_,err=c.Call() 最佳答案 有很多关于该主题的指南。Github上的Golangwiki对将Wind